The present invention relates to Web Services, and more specifically, to a method and system for providing an API that relies on Web Services and that hides the management of complex data structures from the Web Service interface.
Web Services are becoming increasingly popular for use in application programming interfaces (APIs). For example, a Web Service may be implemented by a system that includes clients and servers that communicate among one another using eXtensible Markup Language (XML) and which Service offers a machine-readable description of the operations written in Web Services Description Language (WSDL). Java™ XML is but one example of an API for a Java™ application and is used in XML processing.
When passing complex input or output parameters (e.g., lists of application-specific objects) in Java™-based Web Service operations, these parameters are typically modeled as “complex types” in the associated WSDL file. The creation of such complex types can be a troublesome manual process since typically the data to be transported are already coded as large Java™ classes that are not applicable to tools-based WSDL complex type creation.
Moreover, a Web Service client and a Web Service provider (server) need to be operating at the same version level of the Web Service. In other words, if the complex type changes in the WSDL, both client and provider need to be upgraded to the most current Web Service version before they are able to interoperate again.
What is needed, therefore, is a more efficient way to manage complex types in a Web Service.